package com.zc.iotDevice.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.AjaxResult;
import com.zc.iotDevice.domain.IotDeviceSubsidiary;
import com.zc.iotDevice.domain.IotDeviceSubsidiaryPort;

/**
 * 设备附属Service接口
 * 
 * @author gaojikun
 * @date 2023-05-16
 */
public interface IIotDeviceSubsidiaryService 
{
    /**
     * 查询设备附属
     * 
     * @param id 设备附属主键
     * @return 设备附属
     */
    public IotDeviceSubsidiary selectIotDeviceSubsidiaryById(Long id);

    /**
     * 查询设备附属列表
     * 
     * @param iotDeviceSubsidiary 设备附属
     * @return 设备附属集合
     */
    List<IotDeviceSubsidiary> selectIotDeviceSubsidiaryList(IotDeviceSubsidiary iotDeviceSubsidiary);

    /**
     * 新增设备附属
     * 
     * @param iotDeviceSubsidiary 设备附属
     * @return 结果
     */
    int insertIotDeviceSubsidiary(IotDeviceSubsidiary iotDeviceSubsidiary);

    /**
     * 修改设备附属
     * 
     * @param iotDeviceSubsidiary 设备附属
     * @return 结果
     */
    int updateIotDeviceSubsidiary(IotDeviceSubsidiary iotDeviceSubsidiary);

    /**
     * 批量删除设备附属
     * 
     * @param ids 需要删除的设备附属主键集合
     * @return 结果
     */
    int deleteIotDeviceSubsidiaryByIds(Long[] ids);

    /**
     * 删除设备附属信息
     * 
     * @param id 设备附属主键
     * @return 结果
     */
    int deleteIotDeviceSubsidiaryById(Long id);

    /**
     * 查询运营商列表
     * @return AjaxResult
     */
    AjaxResult getOperatorList();

    /**
     * 查询设备列表
     * @return AjaxResult
     */
    AjaxResult getIotDeviceList();

    AjaxResult getDeviceTypeList();

    AjaxResult getCurrentTypeList();

    /**
     * 获取设备附属端口信息
     */
    AjaxResult selectIotDeviceSubsidiaryPortListById(Long id);

    /**
     * 修改设备附属端口
     */
    AjaxResult updateSubsidiaryPort(IotDeviceSubsidiaryPort iotDeviceSubsidiaryPort);

    /**
     * 删除设备附属端口
     */
    AjaxResult delSubsidiaryPort(Long id);

    /**
     * 新增设备附属端口
     */
    AjaxResult addSubsidiaryPort(IotDeviceSubsidiaryPort iotDeviceSubsidiaryPort);

    /**
     * 获取设备附属端口详细信息
     */
    AjaxResult getSubsidiaryPort(Long id);
}
